package pool;

public class Consumer implements Runnable {

    private Pot pot;
    private String name;


    public Consumer(Pot pot,String name) {
        this.pot = pot;
        this.name = name;
    }

    @Override
    public void run() {
        while(true){

            synchronized (pot) {
                //儿子不停的吃馒头。
                //判断什么时候不能了。
                if (pot.getPot().size() == 0 && Pot.COUNT >= 100) {
                    break;
                }

                //判断锅里有馒头吗？
                if (pot.getPot().size() == 0) {
                    //妈妈就进入等待队列了，等待儿子吃馒头。
                    System.out.println("锅里没有馒头了，等待妈妈做馒头....");
                    try {
                        //可以换醒妈妈做吃馒头。
                        pot.notifyAll();
                        //pot.notify();
                        pot.wait();
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                } else {
                    pot.eatCake(this.name);
                    pot.notifyAll();
                }
            }
        }
    }
}
